package com.ibeetl.cms.entity;

import java.util.Date;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Null;

import com.fasterxml.jackson.annotation.JsonIgnore;
import org.beetl.sql.core.annotatoin.AutoID;
import org.beetl.sql.core.annotatoin.SeqID;

import com.ibeetl.admin.core.util.ValidateConfig;

import org.beetl.sql.core.TailBean;
import java.math.*;

import com.ibeetl.admin.core.annotation.Dict;
import com.ibeetl.admin.core.entity.BaseEntity;

import org.beetl.sql.core.annotatoin.InsertIgnore;
import org.beetl.sql.core.annotatoin.Version;
import org.beetl.sql.core.annotatoin.LogicDelete;


/* 
* 记录表
* gen by Spring Boot2 Admin 2019-01-10
*/
public class ExtRecord extends BaseEntity{

    //流水记录ID
    @NotNull(message = "ID不能为空", groups =ValidateConfig.UPDATE.class)
    @SeqID(name = ORACLE_CORE_SEQ_NAME)
    @AutoID	

    private String id ;
	
    //记录类型 REFERRAL 推荐好友  PAY 支付
    @Dict(type="push_type")

    private String recordtype ;
	
    //主动订单号

    private String aorderid ;
	
    //被动订单号

    private String porderid ;
	
    //付款账号

    private String putaccount ;
	
    //收款账号

    private String getaccount ;
	
    //课程价格

    private String price ;
	
    //交易状态(0初始状态 1通知成功 2通知失败 3已发送 4已确认)
    @Dict(type="record_state_type")

    private Integer state ;
	
    //创建时间

    private Date createtime ;
	
    //创建人

    private String createuser ;
	
    //更新时间

    private Date updatetime ;
	
    //修改人

    private String updateuser ;

    //删除标识
    @JsonIgnore
    protected Integer delFlag = 0;

    public ExtRecord()
    {
    }

    /**流水记录ID
    *@return 
    */
    public String getId(){
	    return  id;
    }
    /**流水记录ID
    *@param  id
    */
    public void setId(String id){
        this.id = id;
    }

    /**记录类型 REFERRAL 推荐好友  PAY 支付
    *@return 
    */
    public String getRecordtype(){
	    return  recordtype;
    }
    /**记录类型 REFERRAL 推荐好友  PAY 支付
    *@param  recordtype
    */
    public void setRecordtype(String recordtype){
        this.recordtype = recordtype;
    }

    /**主动订单号
    *@return 
    */
    public String getAorderid(){
	    return  aorderid;
    }
    /**主动订单号
    *@param  aorderid
    */
    public void setAorderid(String aorderid){
        this.aorderid = aorderid;
    }

    /**被动订单号
    *@return 
    */
    public String getPorderid(){
	    return  porderid;
    }
    /**被动订单号
    *@param  porderid
    */
    public void setPorderid(String porderid){
        this.porderid = porderid;
    }

    /**付款账号
    *@return 
    */
    public String getPutaccount(){
	    return  putaccount;
    }
    /**付款账号
    *@param  putaccount
    */
    public void setPutaccount(String putaccount){
        this.putaccount = putaccount;
    }

    /**收款账号
    *@return 
    */
    public String getGetaccount(){
	    return  getaccount;
    }
    /**收款账号
    *@param  getaccount
    */
    public void setGetaccount(String getaccount){
        this.getaccount = getaccount;
    }

    /**课程价格
    *@return 
    */
    public String getPrice(){
	    return  price;
    }
    /**课程价格
    *@param  price
    */
    public void setPrice(String price){
        this.price = price;
    }

    /**交易状态(0初始状态 1通知成功 2通知失败 3已发送 4已确认)
    *@return 
    */
    public Integer getState(){
	    return  state;
    }
    /**交易状态(0初始状态 1通知成功 2通知失败 3已发送 4已确认)
    *@param  state
    */
    public void setState(Integer state){
        this.state = state;
    }

    /**创建时间
    *@return 
    */
    public Date getCreatetime(){
	    return  createtime;
    }
    /**创建时间
    *@param  createtime
    */
    public void setCreatetime(Date createtime){
        this.createtime = createtime;
    }

    /**创建人
    *@return 
    */
    public String getCreateuser(){
	    return  createuser;
    }
    /**创建人
    *@param  createuser
    */
    public void setCreateuser(String createuser){
        this.createuser = createuser;
    }

    /**更新时间
    *@return 
    */
    public Date getUpdatetime(){
	    return  updatetime;
    }
    /**更新时间
    *@param  updatetime
    */
    public void setUpdatetime(Date updatetime){
        this.updatetime = updatetime;
    }

    /**修改人
    *@return 
    */
    public String getUpdateuser(){
	    return  updateuser;
    }
    /**修改人
    *@param  updateuser
    */
    public void setUpdateuser(String updateuser){
        this.updateuser = updateuser;
    }

    public Integer getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(Integer delFlag) {
        this.delFlag = delFlag;
    }
}
